Blog search

Friday Facts #188 - Bug, Bug, Desync

Posted by Klonan & Twinsen on 2017-04-28

0.15 release I would be surprised if you are reading this blog and didn't know that we released the 0.15 experimental this Monday. After more than 6 months of work and effort put in, we are really happy to finally see everyone playing and enjoying it so much. We'd like to thank you all for the feedback and suggestions we've received, and for being patient with us when we couldn't keep to our plans. The whole team here is committed first and foremost to making as great a game as possible. While the delays were not insignificant, we really hope we have met your expectations and delivered on what we have promised. Initially we had a small issue with our new config system and a script we use for Steam cloud syncing, leading to the game looking for a value which was no longer there. Thankfully HanziQ solved the problem in short time, and we released 0.15.1 just 3 hours later. The rest of the week ran pretty smoothly with the typical bugfixing, while the majority of the GFX department takes a well deserved break. If you are interested in seeing an overview of all the new features, you have a choice of British or American flavour, provided by MangledPork and Xterminator respectively:

Friday Facts #241 - New player experience

Posted by V453000, Abregado, Twinsen on 2018-05-04

New player experience (V453000 & Abregado) In the last several weeks/months we have been working on deciding the fate of the campaign and the demo/tutorial missions. Hi, I'm Ben (Abregado). My experience as an educator using Factorio in the classroom means I have thoroughly examined new players (young and old), and have played the first 30 minutes of Factorio for as many hours as some players spend on a single megabase. The systems in Factorio are deep and interconnected, so creating an onboarding experience for a single concept poses many exciting challenges. We find that the Freeplay portion of the game is already enjoyable to its target audience, but those who prefer a more guided experience only get a short campaign which doesn’t even utilize all of the features we’ve added to the game. On top of that brand new players need to dig through a tutorial which takes about 30-45 minutes to get to automation, which is what the game is about. We want to keep the demo so that anybody who wants to try the game can do it for free, and get a proper representative introduction to what Factorio is. For Factorio, the demo should serve a dual purpose of a tutorial and a teaser, both of which we feel could be improved... Currently we find the demo has the following problems: The impact of the first level isn’t very visually representative of what Factorio is. Gives the impression of being a Minecraft clone in the first tutorial mission by having to mine manually and do hand crafting. Key concepts like Assembling machines and electricity are not presented for the first two levels. Player actions are so heavily constrained that the player learns just how to solve the tutorial rather than learning the concepts we are trying to demonstrate. Each of the levels is disconnected from the previous. Which item recipes are available, that there are suddenly built structures and the location is completely different. Grindy tasks like obtaining X resources in 2nd tutorial mission don’t have any clear purpose. The player does it because they are being told to, not to achieve some other goal that would make sense in the progression. A lot of information is not important and just floods the player with noise, for example many of the messages. The places where the player gets information are scattered - Objective window in the top left, the player character talking to themselves in the console chat and the yellow "TAB bubbles". The three different information channels competing for attention. In this case also two of them telling you the same self-explanatory information (where is the current objective shown, if you didn’t get it), while the chat informs you that your character is alive. A typical objective without purpose. (I guess the game will tell me what is it for soon?) Doesn’t this message resemble another game? What we would like to achieve with the new design: Create an immediately gripping environment that better sets up the Factorio feel. Showing and teaching core concepts like Assembling machines and electricity in the first level using as little complexity as possible. Providing goals through the technology tree, working with laboratories and the technology GUI as soon as possible. Standardize the way players obtain new items. Every recipe has to be obtained through a technology - that way the player triggers recipe progression and gets them as a reward. Starting a new level should start the player at a similar progression state where the previous mission left off. Teaching by experimentation instead of jumping through arbitrary tasks. Letting the player coming up with their own solution of a puzzle. Unify the channels the player gets information from (mostly GUI improvements). After finishing the demo, the player should be ready to continue by playing the main campaign, or jump straight to the Freeplay. If you had to pick one entity that represents the game to you the most, which one would it be?

Friday Facts #114 - Better train conditions

Posted by kovarex on 2015-11-27

Hello, it feels really nice these weeks. We actually have some time to improve the game instead of just fixing bugs. Lets take a look on some of the improvements.

Friday Facts #297 - New resource icons

Posted by Twinsen, v453000 on 2019-05-31

Inserters are now smarter Twinsen A few days ago I was investigating a rather minor bug report related to "Rotational Asymmetry in Belt/Inserter interactions" (aka Inserter was not behaving identically when rotated). This was a classic case of floating point equality comparison. The Inserter would move it's arm and then it would pick up the item if the current arm orientation is equal to the desired arm orientation. Because of some chain of calculations related to rotation, some precision was lost and the equality check would fail for 1 tick, delaying the item pickup for 1 tick in some Inserter rotations. So I fixed that by finishing the inserter movement if it's close enough. Now the inserters should be a tiny bit faster in some rotations, plus all rotations should again be symmetrical and identical. While analyzing the code and Inserter behavior for that bug, I also noticed that inserters with stack bonus would do nothing for 1 tick after picking up an item from a belt. I changed it so inserters will start moving to a new target immediately after they pick up something. This also sped up the Stack Inserter by a tiny bit. Both the speedups were enough to fix another bug that was often regarded by the other devs as "not a bug": A Stack Inserter was not fast enough to pick up all the items placed on a belt by another Stack Inserter. Furthermore, because of different timings, the amount of items a Stack Inserter would pick up would depend on how far that Stack Inserter was from the item source: We released the change on Thursday. Something strange was quickly discovered after release... From Nefrums speedrun stream. As someone from Twitch chat noted "Inserters are so fast now, they even don't care about the side of belt". Remember that I fixed the rotation problem by finishing the Inserter movement if it's close enough. Well, what ended up happening was what now the Inserter would stop 0.0001 degrees short of perfectly vertical. That was of course closer to the other belt lane so the item would be dropped there. Previously it was always dropped perfectly vertical, and the lane decision algorithm would choose the right lane. The fix was easy and it's probably released by the time you are reading this. So with everything fixed, inserters are now more consistent, predictable and intuitive, things that I think are important for a precise game like Factorio. Some situation might end up being slightly slower or will consume a bit more electricity, but generally inserters are now faster.

Friday Facts #355 - High resolution updates

Posted by V453000, Dom on 2020-07-10

We've been updating, reworking and redesigning many graphics, and the majority of entities have had high resolution for a while now. With 1.0 we're trying to be as "complete" as feasible.

Friday Facts #308 - Not stable quite yet

Posted by Klonan on 2019-08-16

Hello, we had a party last night in the office to celebrate the work we have done over the last 6 months on 0.17 stablisation. It was nice to have most of the team together to share some beers and pizza.

Friday Facts #243 - New GUI tileset

Posted by kovarex & Albert on 2018-05-18

The new GUI tileset (Albert) The process of the GUI re-design is moving slowly but steadily. By making new mockups, re-thinking old mechanics, and with the proper feedback from a different range of people, the parts are falling into place. I'm starting to feel very confident with the actual general contrast and font sizes. Also the conversion from high resolution to normal resolution is working just fine. These subjects are very important to move forward with. Below you can see a demo of the current state of the new GUI. Not all the widgets are shown yet, but this document is helping us a lot in order to define the future elements. Seeing the big picture makes it much easier to tweak them altogether with a better coherence and consistency, not to mention for testing any kind of font, specifically non-latin characters sets, a subject that I personally have not paid too much attention to yet. This document is being used also to create the general tileset and see how it behaves in the engine. This is a work in progress, and we are tweaking details constantly. Many things will change during the process. Overall here you can see a sneak peek of the Factorio GUI to come. I want to also mention that we are actually taking care of the 8% of the population who has some sort of color vision problems. This subject is still very new for us, but we are without a doubt researching solutions to different conditions.

Friday Facts #384 - Combinators 2.0

Posted by kovarex, Klonan on 2023-11-10

Hello, we are going to focus on the general improvements of the way circuit network is used in the game. I wasn't using it often, because all the problems combined made it too big of a hassle most of the time, which was an indication of problems. So we improved each part of the process of using it a little, from UI, to feedback of what is going on, to stronger/more accessible combinator functionality. I can say that it worked, at least for me. Once these changes were available, I used the circuit network way more in my latest playthrough, and it felt good, so lets hope it won't be just me :)

Friday Facts #424 - Gleba Pentapod Enemies

Posted by Earendel on 2024-08-16

Hello, It is time. STOMPY TIME! If you don't want spoilers on enemies and want to discover them naturally then you might want to skip this one. Let's continue the story from FFF-413. A trumpeting scream quietens all the small animals. You hear the breaking of waves followed by stomping: earth-shaking steps that are getting louder and louder. Looking in the direction of the sound, you see a cliff rising to a tall hill. The fungus at the top shakes a little with each stomp, but the source is somewhere further behind the hill. You ready your weapons, but the sound stops getting louder and instead moves to the right, then gradually fades into the distance. Whatever it was, it was big. After climbing the hill to investigate, you see a valley on the other side. Some large translucent green eggs float on a raft of slimy foam in a pool of shallow water. You get closer. The eggs are soft like jelly, the portion above water sagging under their own weight. In the centre is a dark blurry mass of... tangled limbs and eyes. This video has sound. Also available on YouTube in 4k. Suddenly the egg erupts and a clawed limb swipes at your face. A strange creature wriggles around in the water trying to claw at you, and through the splashing you make out 5 limbs like a starfish. A bulging head-like structure has many eyes on one side and a sponge-like material on the other. On the sides of its head are crests of transparent blisters that are inflating with air to form something like a paddle or wing. It drags itself around like some sort of ravenous tentacled baby. With the occasional lurching movement it launches itself at you, trying to grapple you with its limbs and bite you with its underside. The claws glance off your energy shield with minimal damage. Your personal laser defence springs into action and in a flash of light the newborn is cut to shreds. The laser then switches targets to the egg raft. A few moments later all the eggs burst into a horrifying swarm of angry thrashing creatures. The sea of flailing limbs and odd movement makes it difficult to target individuals. You bravely retreat back to the cliff and equip the flamethrower to protect yourself with a wall of fire. The undaunted wriggling creatures run straight into the fire and die soon after. Another trumpeting scream pierces the sky but this time it doesn't sound distant at all. A slender towering creature stares straight at you with its large bulging eyes. It strafes sideways circling you, gracefully stepping over cliffs and tree-like fungi with its 5 thin legs. It launches something from its head, a projectile high into the air and arcing toward you. You start retreating, but 4 wings spring from the sides of the projectile and it steers towards you like a homing missile. The flying creature rams into you, grappling you with its clawed limbs and slowing your movement. You throw it down to the ground and it becomes indistinguishable from the Wriggler you dispatched earlier. Your laser defences make short work of it, but without warning, you're struck by another projectile creature from the other side. Another Strafer has arrived and is also bombarding you. Both Strafers are staying out of range of your automated laser. You dash towards one of the Strafers with your submachine gun in hand, but as you do the Strafer to your front retreats and the other advances. They seem intent on keeping you at range, constantly circling while flinging homing projectiles. No matter, you have another weapon up your sleeve. You dash forwards again, this time with a rocket launcher in hand. A rocket snakes its way through the air and blasts its way into the first Strafer. The creature shrieks and attempts to retreat, but another rocket is already on its way. The second rocket strikes unerringly and a moment later, the Strafer is blown apart leaving a cloud of pieces to rain down on the swamp below. Stomp stomp stomp. The stomping has returned. A colossal spiked shell rises into view from behind a hill. It strides effortlessly over a cliff with its 5 huge armour-plated legs. This creature is clearly related to the others, but it is far heavier with a wide stance and thick legs. The central body or head region is like a shielding shell with small eyes peering through narrow holes. You fire some rockets at the Stomper and they do some damage, but nowhere near enough to take it down. You have very few rockets left and they won't be enough to kill the Stomper so it's better to save them for the other Strafer (which is difficult to catch otherwise). The Stomper charges towards you. Even with your exoskeleton equipment the Stomper can outrun you. You stand your ground with the submachine gun but you can't dodge effectively while you fire. As it gets close the tremors stress your shield, and thrown debris from its stomps pummel the shields further. The creature lands a foot directly on you and your shields falter. That hurt. This isn't working. You start moving again, not to outrun it but to outmanoeuvre it. It may be faster than you in a straight line, but it can't change directions as quickly. The other Strafer is still alive and flinging new enemies at you from a distance. By switching between dodging movement and bursts of SMG fire, you're able to evade most of the Stomper's damage and keep the number of Wrigglers low enough to not get overwhelmed. You wait for an opening when you're not being stomped on, swarmed, and the Strafer is in view. Away go the last 2 rockets and... success. The last Strafer falls dead. Now it's just you and the Stomper. A duel to the death. While continuing to dodge its feet, you make your way to a larger area of land to make your last stand. No more rockets. Gun ammo is low. Time for the flamethrower to shine. As you circle each other, you douse the arena in flames. The dance continues in flames until one of you falls. More fire, more spinning, more fire! The world becomes a hazy blur of flames, smoke, and death.